package appapi.service;

import appapi.Request.StaffrolePageReq;
import appapi.Request.StaffroleReq;
import appapi.dto.StaffroleDto;
import appapi.entity.auth.StaffroleEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 用户角色
 *
 * @author lc
 * @version 1.0
 * @date 2023-05-17 10:08:27
 */
public interface StaffroleService extends IService<StaffroleEntity> {

    /**
     * 获取分页用户角色列表
     *
     * @param staffroleReq 用户角色条件
     * @return
     */
    PageInfo<StaffroleDto> page(StaffrolePageReq staffroleReq);

    /**
     * 获取用户角色列表
     *
     * @param staffroleReq 用户角色条件
     * @return
     */
    List<StaffroleDto> list(StaffroleReq staffroleReq);

    /**
     * 获取用户角色信息
     *
     * @param staffId     人员id
     * @return
     */
    List<StaffroleEntity> detail(Long staffId);

    /**
     * 返回满足用户角色条件的行数
     *
     * @param staffroleEntity 用户角色信息
     * @return
     */
    int count(StaffroleEntity staffroleEntity);

    /**
     * 增加用户角色
     *
     * @param staffroleEntity 用户角色信息
     * @return
     */
    int insert(StaffroleEntity staffroleEntity);

    /**
     * 修改用户角色
     *
     * @param staffroleEntity 用户角色信息
     * @return
     */
    int update(StaffroleEntity staffroleEntity);

    /**
     * 删除用户角色
     *
     * @param staffRoleIds       记录ID
     * @return
     */
    int delete(List<Long> staffRoleIds);


    /**
     * 批量增加用户角色
     *
     * @param staffroleList 用户角色信息
     * @return
     */
    int insertBatch(List<StaffroleEntity> staffroleList);

    /**
     * 批量删除用户角色
     * @param staffId
     * @param roleIds
     * @return
     */
    int deleteBatch(Long staffId,List<Long> roleIds);
}

